import Vue from 'vue'
import App from './App'
import uView from "uview-ui";
import http from '@/request/request.js'
Vue.prototype.http = http;
Vue.use(uView);
Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
	...App
})
app.$mount()

/**
 * 网络请求
 * @param {Object} param
 * @param {Object} backpage
 * @param {Object} backtype
 */
Vue.prototype.sendRequest = function(param,backpage, backtype){
    var _self = this, 
        url = param.url,
        method = param.method,
        header = {},
        data = param.data || {}, 
        token = "",
        hideLoading = param.hideLoading || false;
        
    //拼接完整请求地址
    var requestUrl = this.siteBaseUrl + url;
    //固定参数:仅仅在小程序绑定页面通过code获取token的接口默认传递了参数token = login
    // if(!data.token){//其他业务接口传递过来的参数中无token
    //     token = uni.getStorageSync(this.sessionKey);//参数中无token时在本地缓存中获取
    //     console.log("当前token:" + token);
    //     if(!token){//本地无token需重新登录(退出时清缓存token)
    //         _self.login(backpage, backtype);
    //         return;
    //     }else{
    //         data.token = token;
    //     }
    // }
    var timestamp = Date.parse(new Date());//时间戳
    data["timestamp"] = timestamp;
    // #ifdef MP-WEIXIN
    data["device"] = "wxapp";
    data["ver"] = "1.1.30";
    // #endif
    // #ifdef APP-PLUS || H5
    data["device"] = "iosapp";
    data["ver"] = "1.0.0";
    // #endif
    
    //请求方式:GET或POST(POST需配置header: {'content-type' : "application/x-www-form-urlencoded"},)
	header = {
		'XX-Token': 11111111111,
		'content-type' : "application/x-www-form-urlencoded"
	}

    //用户交互:加载圈
    if (!hideLoading) {
        uni.showLoading({title:'加载中...'});
    }
    
    // console.log("网络请求start");
    //网络请求
	return new Promise((resolve, reject) => {
		uni.request({
		    url: requestUrl,
		    method: method,
		    header: header,
		    data: data,
		    success: res => {
				// if (!hideLoading) uni.hideLoading()
				if (res.statusCode === 200) {
					let result = res.data
					// console.log(result)
					if (result.code == '1') {
						resolve(result)
					}
					reject(result.msg)
					// if (!hideMsg) showToast(result.errmsg)
				} else { // 返回值非 200，强制显示提示信息
					showToast('[' + res.statusCode + '] 系统处理失败')
					reject('[' + res.statusCode + '] 系统处理失败')
				}
		 //        console.log("网络请求success:" + JSON.stringify(res));
		 //        if (res.statusCode && res.statusCode != 200) {//api错误
		 //            uni.showModal({
		 //                content:"" + res.errMsg
		 //            });
		 //            return;
		 //        }
		 //        if (res.data.code) {//返回结果码code判断:0成功,1错误,-1未登录(未绑定/失效/被解绑)
		 //            if (res.data.code == "-1") {
		 //                _self.login(backpage, backtype);
		 //                return;
		 //            }
		 //            if (res.data.code != "1") {
		 //                uni.showModal({
		 //                    showCancel:false,
		 //                    content:"" + res.data.msg
		 //                });
		 //                return;
		 //            }
		 //        } else{
		 //            uni.showModal({
		 //                showCancel:false,
		 //                content:"No ResultCode:" + res.data.msg
		 //            });
		 //            return;
		 //        }
			
		 //        typeof param.success == "function" && param.success(res.data);
		    },
		    fail: (e) => {
		        // console.log("网络请求fail:" + JSON.stringify(e));
		        uni.showModal({
		            content:"" + e.errMsg
		        });
		        typeof param.fail == "function" && param.fail(e.data);
		    },
		    complete: () => {
		        // console.log("网络请求complete");
		        if (!hideLoading) {
		            uni.hideLoading();
		        }
		        typeof param.complete == "function" && param.complete();
		        return;
		    }
		});
	})
    
}

// Vue.prototype.login = function(backpage, backtype){
//     var _self = this;
//     uni.login({
//         success:function(res){
//             _self.requestData({
//                 url : "user/login",
//                 data : {
//                     code : res.code, 
//                     token : "login"
//                 },
//                 success : function(res2){
//                     if (res2.data.errCode == "0") {//用户存在:存储token
//                         uni.setStorageSync(_self.sessionKey,res2.data.token);
//                     } else if (res2.data.errCode == "0") {//用户不存在:调转到绑定页面
//                         uni.redirectTo({url:'../binding/binding?backpage='+backpage+'&backtype='+backtype});
//                         return false;
//                     }
//                 }
//             },backpage, backtype)
//         },
//         fail:function(e){
//             console.log("微信login接口调用失败:" + JSON.stringify(e));
//         }
//     });
//     return;
// }


Vue.prototype.siteBaseUrl = 'https://dev.hyzszy.com.cn/';

Vue.prototype.sessionKey = "sess_jk";
